E cient and Precise Modeling of Exceptions for the Analysis of Java Programs
نویسندگان
چکیده
The Factored Control Flow Graph, FCFG, is a novel representation of a program's intraprocedural control ow, which is designed to eeciently support the analysis of programs written in languages, such as Java, that have frequently occurring operations whose execution may result in exceptional control ow. The FCFG is more compact than traditional CFG representations for exceptional control ow, yet there is no loss of precision in using the FCFG. In this paper, we introduce the FCFG representation and outline how standard forward and backward data ow analysis algorithms can be adapted to work on this representation. We also present empirical measurements of FCFG sizes for a large number of methods obtained from a variety of Java programs, and compare these sizes with those of a traditional CFG representation.
منابع مشابه
An uncaught exception analysis for Java q , qq
Current JDK Java compiler relies on programmer’s declarations (by throws clauses) for checking against uncaught exceptions of the input program. It is not elaborate enough to remove programmer’s unnecessary handlers nor suggest to programmers for specialized handlings (when programmer’s declarations are too broad). We propose a static analysis of Java programs that estimates their uncaught exce...
متن کاملComplexity of Concrete Type-Inference in the Presence of Exceptions
Concrete type-inference for statically typed object-oriented programming languages (e.g., Java, C ++) determines at each program point, those objects to which a reference may refer or a pointer may point during execution. A precise compile-time solution for this problem requires a ow-sensitive analysis. Our new complexity results for concrete type-inference distinguish the diiculty of the intra...
متن کاملOptimizing Java Programs in the Presence of Exceptions
The support for precise exceptions in Java, combined with frequent checks for runtime exceptions, leads to severe limitations on the compiler’s ability to perform program optimizations that involve reordering of instructions. This paper presents a novel framework that allows the compiler to relax these constraints on instruction scheduling. We first present an algorithm using dynamic analysis, ...
متن کاملComplexity of Points-To Analysis of Java in the Presence of Exceptions
At each program point, points-to analysis for statically typed object-oriented programming languages (e.g., Java, C) determines those objects to which a reference may refer (or a pointer may point) during execution. Points-to analysis is necessary for any semantics-based software tools for object-oriented systems. Our new complexity results for points-to analysis distinguish the difficulty of i...
متن کاملInstruction Scheduling in the Presence of Java's Runtime Exceptions
One of the challenges present to a Java compiler is Java’s frequent use of runtime exceptions. These exceptions affect performance directly by requiring explicit checks, as well as indirectly by restricting code movement in order to satisfy Java’s precise exception model. Instruction scheduling is one transformation which is restricted by runtime exceptions since it relies heavily on reordering...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999